<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    span {
      color: red;
      font-weight: 600
    }
  </style>
</head>
<body>
  <p>初识 ts</p>
  <ul>
    <li>
      1.ts 是 es6,javacript 超集，支持两种的语法，也就意味着可以在 ts 中写 javacript 或者 es6 代码
    </li>
    <li>
      2.ts 编译器 typescript 安装sudo cnpm install -g typescript  编译 tsc javascript.js
      另外ts-node 可以直接在 node 环境中运行ts 文件 (ts-node + ts文件)
    </li>
    <li>
      3.传入参数进行强类型校验，不是期望类型编译过程会报错，但是不会中断编译过程，仍然会产生 js 文件
    </li>
    <li>
      4.支持接口实现，在实现接口的时候，只要要求对象<span>包含了接口要求的结构（而不是必须一样，只要“包含”接口的结构就可以）</span>就可以而不必明确地使用 implements语句
    </li>
    <li>
      支持类型系统，且拥有类型推断，添加了类和模块
    </li>
    <li>
      支持运行在任何浏览器、nodeJS 环境中。一款跨平台工具。支持所有的浏览器，主机，操作系统。文件拓展名为 ts
    </li>
  </ul>
  <h2>关于 Javascript</h2>
  <ul>
    <li>
      我们用 javascript 称呼这门语言，用 ECMAScript 称呼标准。ECMAScript 5是经常认为的 es5,ECMAScript 6即使我们常说的 ES6
    </li>
    <li>
      Babel 通过插件化的方式引入 ECMAScript 的特性，并在生产环境是编译成 es3 或者 es5 代码
    </li>
    <li>
      TSConfig可以用于控制开启和关闭一些特性，而TSLint则是用来约束行为规范的工具
    </li>
    <li>
      husky工具可以让我们在每次提交之前都执行一次TSLint的检查命令，如果不能通过风格检查，就无法提交
    </li>
    <li>
      @type/node:在TypeScript2.0之后，TypeScript将会默认查看./node_module/@type文件夹，自动从这里来获取类型定义。当然，你需要地理安装这个定义库
    </li>
  </ul>
</body>
</html>